Skip to content

Release QAT example with NLS #3480

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 24 commits into from
May 21, 2025

Conversation

jpablomch
Copy link
Collaborator

@jpablomch jpablomch commented May 6, 2025

Changes

Adds example to use NLS fine-tuning with quantization-aware LoRA on downstream tasks.

Reason for changes

To support fine-tuning for downstream scenarios, and NLS often boost the performance of LoRA fine-tuning on downstream tasks.

Related tickets

https://jira.devtools.intel.com/browse/CVS-166802

Tests

See the results in NLSDownstreamTasks.md. We have conducted extensive evaluation on 11 language models and 4 downstream tasks.

examples job: https://github.com/openvinotoolkit/nncf/actions/runs/14934370942

Signed-off-by: J. Pablo Muñoz <[email protected]>

Co-authored-by: Yuan0320 <[email protected]>
@jpablomch jpablomch requested a review from ljaljushkin May 6, 2025 17:28
@jpablomch jpablomch requested a review from a team as a code owner May 6, 2025 17:28
@github-actions github-actions bot added documentation Improvements or additions to documentation NNCF PT Pull requests that updates NNCF PyTorch labels May 6, 2025
Signed-off-by: J. Pablo Muñoz <[email protected]>

Co-authored-by: Yuan0320 <[email protected]>
Copy link
Contributor

@ljaljushkin ljaljushkin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for the contribution and very extensive evaluation!
It's great to see an improvement on top of baseline with constant LoRA rank!

On a high level, it looks good for me. Most of the logic is implemented in the sample, changes in NNCF are minimized by extending FQ with LoRA.
I have a few remarks to make it better in terms of integration into NNCF.

One thing that is important for potential customers - total time to get the best checkpoint.
Could you please specify in the readme, how long was tuning and search stage in both cases?

Signed-off-by: J. Pablo Muñoz <[email protected]>

Co-authored-by: Yuan0320 <[email protected]>
@github-actions github-actions bot added NNCF Common Pull request that updates NNCF Common NNCF PTQ Pull requests that updates NNCF PTQ API Public API-impacting changes labels May 8, 2025
jpablomch and others added 3 commits May 8, 2025 10:41
Signed-off-by: J. Pablo Muñoz <[email protected]>
Signed-off-by: J. Pablo Muñoz <[email protected]>
Signed-off-by: J. Pablo Muñoz <[email protected]>

Co-authored-by: Yuan0320 <[email protected]>
jpablomch and others added 2 commits May 9, 2025 10:13
Signed-off-by: J. Pablo Muñoz <[email protected]>

Co-authored-by: Yuan0320 <[email protected]>
Signed-off-by: J. Pablo Muñoz <[email protected]>
Copy link
Contributor

@ljaljushkin ljaljushkin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

minor remarks

jpablomch and others added 3 commits May 9, 2025 13:36
@jpablomch jpablomch force-pushed the qat_with_nls_release branch 5 times, most recently from 45eb700 to f8dd856 Compare May 9, 2025 22:33
Signed-off-by: J. Pablo Muñoz <[email protected]>
@jpablomch jpablomch force-pushed the qat_with_nls_release branch from f8dd856 to 8a5b7db Compare May 9, 2025 22:38
Signed-off-by: J. Pablo Muñoz <[email protected]>

Co-authored-by: Yuan0320 <[email protected]>
@jpablomch jpablomch force-pushed the qat_with_nls_release branch from b77ba4a to 407fbb3 Compare May 13, 2025 19:57
@github-actions github-actions bot added NNCF TF Pull requests that updates NNCF TensorFlow experimental NNCF OpenVINO Pull requests that updates NNCF OpenVINO NNCF ONNX Pull requests that updates NNCF ONNX labels May 19, 2025
Signed-off-by: J. Pablo Muñoz <[email protected]>

Co-authored-by: Yuan0320 <[email protected]>
@jpablomch jpablomch force-pushed the qat_with_nls_release branch from 870e9fe to 28e8f71 Compare May 19, 2025 17:51
@github-actions github-actions bot removed NNCF TF Pull requests that updates NNCF TensorFlow experimental NNCF OpenVINO Pull requests that updates NNCF OpenVINO NNCF ONNX Pull requests that updates NNCF ONNX labels May 19, 2025
jpablomch and others added 2 commits May 19, 2025 20:43
Signed-off-by: J. Pablo Muñoz <[email protected]>

Co-authored-by: Yuan0320 <[email protected]>
Signed-off-by: J. Pablo Muñoz <[email protected]>

Co-authored-by: Yuan0320 <[email protected]>
Copy link
Contributor

@ljaljushkin ljaljushkin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here's non-blocking comments, but would be nice to resolve them (possible in a separate PR) before code freeze in NNCF (EOW).

@ljaljushkin
Copy link
Contributor

Latest job for test examples passed - https://github.com/openvinotoolkit/nncf/actions/runs/15141407340/attempts/1

jpablomch and others added 4 commits May 20, 2025 21:18
Signed-off-by: J. Pablo Muñoz <[email protected]>
Signed-off-by: J. Pablo Muñoz <[email protected]>

Co-authored-by: Yuan0320 <[email protected]>
Co-authored-by: Yuan0320 <[email protected]>
@ljaljushkin ljaljushkin merged commit a283adc into openvinotoolkit:develop May 21, 2025
19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
API Public API-impacting changes Code Freeze documentation Improvements or additions to documentation NNCF Common Pull request that updates NNCF Common NNCF PT Pull requests that updates NNCF PyTorch NNCF PTQ Pull requests that updates NNCF PTQ
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants